home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
remote
/
ra_struc.zip
/
RASTRUCT.DOC
Wrap
Text File
|
1990-01-24
|
43KB
|
1,130 lines
RemoteAccess 0.01
Data-Structure Reference
Copyright (C) 1989,90 Continental Software
All Rights Reserved
Table of Contents:
1. Introduction. . . . . . . . . . . . . . . . . . . . . 1
2. List/Description of data-structures . . . . . . . . . 2
2.1 Constants. . . . . . . . . . . . . . . . . . . . 2
2.2 Preliminary type-definitions . . . . . . . . . . 2
2.3 Message-base data/file structures. . . . . . . . 2
MSGINFO.BBS 2
MSGIDX.BBS 3
MSGTOIDX.BBS 3
MSGHDR.BBS 4
MSGTXT.BBS 5
Message-files set: 5
2.4 User-based data/file structures. . . . . . . . . 6
USERON.BBS 6
USERS.BBS 6
LASTREAD.BBS 8
COMBINED.BBS 8
LASTCALL.BBS 8
2.5 General system file/data structures. . . . . . . 9
SYSINFO.BBS 9
TIMELOG.BBS 9
EXITINFO.BBS 10
2.6 Menu file/data structure . . . . . . . . . . . . 11
2.7 RemoteAccess Configuration Files . . . . . . . . 12
EVENTS.RA 12
MESSAGES.RA 12
FILES.RA 13
PROTOCOL.RA 14
CONFIG.RA 15
1. Introduction
RemoteAccess Tools (known under the generic title of 'RAT')
is a simple, powerful and flexible interface between programs
and RemoteAccess's data and configuration files. It can be used
at many levels, which are described below:
(i) Data structures;
The RAT package can be used for purely reference material, as
the documentation outlines the data-formats and structures of
the various RemoteAccess disk files.
Other areas will be added in the future to this document, including
a reference to all the routines in the RemoteAccess Tools (RAT)
development package (of which this will become a part of). Included
in the package will be pre-compiled routines to manipulate all the
RemoteAccess data-files - more details will be provided later.
2. List/Description of data-structures
2.1 Constants
RAT comes with many in-built constants, which may be of use:
const
CR = #$0D;
SoftCR = #$8D;
LF = #$0A;
RATVersion = '0.01 (TP)';
RATName = 'RemoteAccess Tools (RAT) '+RATVersion+',
Copyright (C) 1989,90 by Continental Software.';
MonthName : array[1..12] of String[3] = ('Jan', 'Feb',
'Mar', 'Apr','May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
'Nov', 'Dec');
It would be appreciated if you displayed the constant RATName
somewhere in your programs which call-on the RAT library. Let
people know what your program uses.
2.2 Preliminary type-definitions
type
MsgType = (Local, NetMail, EchoMail);
FlagType = array[1..4] of Byte;
Time = String[5];
Date = String[8];
LongDate = String[9];
NetAddress = record
Zone,
Net,
Node,
Point : Word;
end;
AskType = (Yes, No, Ask);
MsgKindsType = (Both, Private, Public, ROnly);
These structures are defined purely for use in other structure
definition areas. Time and Date are used in the message-base,
while LongDate has the month-number expanded to a three-
character month symbol (as per MonthName constant).
2.3 Message-base data/file structures
The specs provided here are for the message-base currently used
by the RemoteAccess system, which is compatible with the
QuickBBS v2.04 message-base. The only reason for using this
format, was that a lot of software was available which used this
- and is a much better alternative to the 'standard' *.MSG
format.
File: MSGINFO.BBS
type
MSGINFOrecord = record
LowMsg,
HighMsg,
TotalMsgs : Word;
TotalOnBoard : array[1..200] of Word;
end;
MSGINFO.BBS contains one (and ONLY one) record of MSGINFOrecord,
and is designed so software can get general information about
the message-base without actually having to perform a 'scan' on
the message-base. Information from here, is for example, used in
RA to decide if it should perform a read by checking the
TotalOnBoard to see if there are any messages to read.
Field descriptions:
LowMsg : Lowest message-number in the entire message-
base.
HighMsg : Highest message-number in the entire
message-base.
TotalMsg : Total number of messages in the entire
message-base
TotalOnBoard: Contains an list of the number of messages
in every individual message-area. These
include any messages which aren't deleted -
private or not.
File: MSGIDX.BBS
type
MSGIDXrecord = record
MsgNum : Integer;
Board : Byte;
end;
MSGIDX is designed to be the primary searching index-file,
record numbers in this file are maintained parallel to MSGHDR
and MSGTOIDX to enable a record in either to be found quickly.
It's very small, thus extremely fast to scan, and is used mainly
to:
(a) Find a particular msg number
(b) Find the 'next' message on a particular msg area
(c) Find the 'next' active message (on any area)
Field descriptions:
MsgNum : Message-number message
Board : Number of message-area to which message is
a member
File: MSGTOIDX.BBS
type
MSGTOIDXrecord = String[35];
MSGTOIDX is an extremely simple index-file used to execute a
'mail-box' check for a particular person as quickly as possible.
Records in this index are maintained parallel to MSGIDX and
MSGHDR. It contains only the information necessary to perform
this check, thus making it as fast as is possible.
MSGTOIDXrecord contains exactly the same information as the
'To:' field in the equivalent MSGHDR record.
File: MSGHDR.BBS
type
MSGHDRrecord = record
MsgNum : Integer;
PrevReply,
NextReply,
TimesRead : Word;
StartBlock : Word;
NumBlocks,
DestNet,
DestNode,
OrigNet,
OrigNode : Word;
DestZone,
OrigZone : Byte;
Cost : Word;
MsgAttr,
NetAttr,
Board : Byte;
PostTime : Time;
PostDate : Date;
WhoTo,
WhoFrom : MSGTOIDXrecord;
Subject : String[72];
end;
MSGHDR contains all information about the messages in the
message-base (except the actual text) and is the primary
reference file. Becuase of all the information present, it is
quite large so smaller index files are usually used to locate a
particular message where the MSGHDR can be consulted for greater
detail.
Field descriptions:
MsgNum : Number of message
PrevReply : Msg# of previous message in reply-chain (0
if there is none)
NextReply : Msg# of next message in reply-chain (0 if
there is none)
TimesRead : Number of times this message has been read.
(This field is currently not being used)
StartBlock: Record-number offset in MSGTXT file where
text of message begins.
NumBlocks : Number of following MSGTXT text-blocks which
are a part of this message.
DestNet : Net-number where message is destined
DestNode : Node-number where message is destined
OrigNet : Net-number where message originated
OrigNode : Node-number where message originated
DestZone : Zone-number where message is destined
OrigZone : Zone-number where message originated
Cost : Cost (in whatever units you like) to user
for posting message. Only applicable in
NetMail.
MsgAttr : Various message-attribute flags:
Bit 0: Deleted
Bit 1: Netmail pending export
Bit 2: Netmail msg
Bit 3: Private
Bit 4: Received
Bit 5: Echomail pending export
Bit 6: Locally generated msg
NetAttr : Various Netmail attribute flags: (only
applicable if Bit-2 of MsgAttr is 1)
Bit 0: Kill/sent - message will be
deleted after export.
Bit 1: Sent - message has been
exported, but not killed.
Bit 2: File Attach - subject-line
contains filespec.
Bit 3: Crash - message must be sent
directly to destination NOW.
Bit 4: Request Receipt
Bit 5: Audit Request
Bit 6: Is a Return Receipt
Board : Message-area to which message is a member
PostTime : Time at which the message was posted
PostDate : Date at which the message was posted
WhoTo : Name of addresse.
WhoFrom : Name of addresser.
Subject : Brief description of message's contents -
filespec of file-attaches in case of Bit 2
in NetAttr being 1.
File: MSGTXT.BBS
MSGTXT contains only the text of messages in the message-base.
Basically, it is a database of Turbo-Pascal String[255]'s and is
indexed by StartBlock and NumBlocks in MSGHDR.
type
MSGTXTrecord = String[255];
Message-files set:
MSGfiles = record
INFO : file of MSGINFOrecord;
IDX : file;
HDR : file;
TOIDX : file;
TXT : file;
MSGINFO : MSGINFOrecord;
end;
The record defined as MSGfiles contains a complete set of
message-base files, plus a MSGINFO record. This record is
required by all message-base routines in RAT, so it may have
access to all the files, plus from time-to-time efficiently
access the MSGINFOrecord for the base to reduce disk-reads.
2.4 User-based data/file structures
File: USERON.BBS
USERON contains information about users which are currently
using a particular system at a particular moment in time. One
record is written to this file for every line on a system. eg,
line #1 writes record #1, line #4 writes to record #4 etc..
type
USERONrecord = record
Name : MSGTOIDXrecord;
Line : Byte;
Baud : Word;
City : String[25];
DoNotDisturb : Boolean;
end;
USERONfile = file of USERONrecord;
Field descriptions:
Name : Name of particular user on this line
Line : Line # number the user is currently
connected to. This is used to validate the
integrity of the datafile, and a zero in
this field indicates the user has since
logged-off and the line is free.
Baud : Baud-rate the user has logged-on under,
stored in exact bps format. eg,
1200=1200bps.
City : City/state user has indicated s/he comes
from
DoNotDisturb: Flag to indicate if messages from other
users should come through.
File: USERS.BBS
USERS is the central database where all information about the
callers of a system is held. The 'user-file' (as it is known) is
compatible with the QuickBBS v2.04 format for compatability
reasons.
type
USERSrecord = record
Name : MSGTOIDXrecord;
Location : String[25];
Password : String[15];
DataPhone,
VoicePhone : String[12];
LastTime : Time;
LastDate : Date;
Attribute : Byte;
Flags : FlagType;
Credit,
Pending : Word;
MsgsPosted,
LastRead,
Security,
NoCalls,
Uploads,
Downloads,
UploadsK,
DownloadsK : Word;
TodayK,
Elapsed : Integer;
ScreenLength : Word;
LastPwdChange,
Attribute2 : Byte;
ExtraSpace : array[1..6] of Byte;
end;
USERSfile = file;
Field descriptions:
Name : Name of user
Location : Location (city/suburb/state/whatever)
Password : Password (capitalised - eg. "Whynot")
DataPhone : Phone-number of data/work phone-line
VoicePhone: Phone-number of voice/home phone-line
LastTime : Time of last log-on
LastDate : Date of last log-on
Attribute : Miscellaneous user flags:
Bit 0: Deleted
Bit 1: Clear screen
Bit 2: "Continue[Y/n/=]" prompting
Bit 3: ANSI capable
Bit 4: Don't kill user (ever)
Bit 5: Ignore download restrictions
Bit 6: Full-screen msg editor
Bit 7: Quiet mode (for inter-user
messages)
Flags : Security flags given to this user
Credit : Credit in user's account (in whatever units
you like)
Pending : Value of pending "not-yet-exported" netmail
which will be deducted from credit upon
exporting to destination
MsgsPosted: Total number of messages user has ever
posted
LastRead : Highest msg # the user has read in the whole
message-base
Security : Security level
NoCalls : Total number of calls to system
Uploads : Total number of files uploaded
Downloads : Total number of files downloaded
UploadsK : Total amount (in KB) of files uploaded
DownloadsK: Total amount (in KB) of files downloaded
TodayK : Amount of (DownloadsK - UploadsK) for day of
last call
Elapsed : Total amount of minutes used today (extra
minutes today if negative)
ScreenLength: Length of user's screen
LastPwdChange: Number of calls to system since last
password change
Attribute2: Other misc flags:
Bit 0: Hot-key mode
ExtraSpace: Future use
This file is completely compatible with QuickBBS v2.04, but
differences occur thereafter.
File: LASTREAD.BBS
This file contains one record per user on a system, and records
are maintained parallel to COMBINED and USERS. Each element of
the LASTREADrecord contains the highest message # read for that
particular area.
type
LASTREADrecord = array[1..200] of Word;
LASTREADfile = file;
This file is completely compatible with QuickBBS v2.61
File: COMBINED.BBS
This file contains one record per user on a system, and records
are maintained parallel to LASTREAD and USERS. Each bit of the
COMBINEDrecord contains a 1 or a 0 indicating if the paricular
user (indicated by the record #) has a particular msg area
(indicated by the following method) selected as part of the
'combined' area or not.
eg. The bit which corresponds to area 'AreaNum' is:
Bit (AreaNum mod 8) of byte number (AreaNum div 8).
eg.
Selected := Bit(AreaNum mod 8, COMBINEDinfo[AreaNum div 8]);
type
COMBINEDrecord = Array[1..25] of Byte;
COBINEDfile = file;
This file is *NOT* in ANY WAY compatible with QuickBBS as are
LASTREAD and USERS, but it shares the same filename with another
file.
File: LASTCALL.BBS
LASTCALL contains general information about the last user which
was on the system last. It is stored in RA's start-up directory
and there is one for every line.
type
LASTCALLrecord = record
Line : Byte;
Name : MSGTOIDXrecord;
City : String[25];
Baud : Word;
Times : LongInt;
LogOn : String[5];
LogOff : String[5];
end;
LASCALLfile = file of LASTCALLrecord;
Field descriptions:
Line : Line # user was connected to.
Name : Name of user
City : Where the user has indicated s/he comes from
Baud : bps rate the connection was made at
Times : Number of times the user has called the
system
LogOn : Time of log-on
LogOff : Time of log-off
2.5 General system file/data structures
File: SYSINFO.BBS
SYSINFO contains general information about a system, so
utilities and RA itself may know some very basic historical
information. The total number of callers and the name of the
last caller are stored in this file.
type
SYSINFOrecord = record
TotalCalls : LongInt;
LastCaller : MSGTOIDXrecord;
ExtraSpace : array[1..128] of Byte;
end;
SYSINFOfile = file of SYSINFOrecord;
File: TIMELOG.BBS
TIMELOG contains information about useage on a per-hour of the
day, and a per-day of the week basis. At this moment in time,
only the per-hour useage has been implemented, the latter is
left for future expansion.
type
TIMELOGrecord = record
StartDate : Date;
BusyPerHour : array[0..23] of Word;
BusyPerDay : array[0..6] of Word;
end;
TIMELOGfile = file of TIEMLOGrecord;
The format in which usage information is held in BusyPerHour is
that each element of the array represents an hour, and the word
contains the total number of minutes a user has been on-line in
that hour. From this information RA can generate a usage graph.
File: EXITINFO.BBS
EXITINFO is a very powerful interface file between RemoteAccess
and any external packages which care to read it, and has become
the 'standard' of exit-files. Programs are available to convert
EXITINFO to most other door formats, but if there isn't one for
you, then you can always write your own converter now.
The most powerful feature about the EXITINFO interface though,
is the fact that the contents after the external program has
finished executing are considered to be true, thus an external
program can modify any information convered in EXITINFO with
great ease.
type
EXITINFOrecord = record
Baud : Word;
SysInfo : SYSINFOrecord;
TimeLogInfo : TIMELOGrecord;
UserInfo : USERSrecord;
EventInfo : EVENTrecord;
NetMailEntered,
EchoMailEntered : Boolean;
LoginTime : Time;
LoginDate : Date;
TimeLimit : Word;
LoginSec,
Credit : LongInt;
UserRecord : Word;
ReadThru : Word;
NumberPages : Word;
DownloadLimit : Word;
TimeOfCreation : Time;
LogonPassword : String[15];
WantChat : Boolean;
end;
EXITINFOfile = file of EXITINFOrecord;
Field descriptions:
Baud : bps rate at connection
SysInfo : Up-to-date contents of SYSINFO.BBS
TIMELOGinfo: Up-to-date contents of TIMELOG.BBS
UserInfo : Current users user-file record information
EventInfo : Current event record information
NetMailEntered:True if NetMail has been entered this call
EchoMailEntered:True if EchoMail has been entered this call
LoginTime : What time the user logged-on
LoginDate : What date the user logged-on
TimeLimit : Users time-limit for today (in minutes)
LoginSec : Number of seconds between midnight and ?
Credit : Amount of credit still on users account
UserRecord: Record # of current user in USERS.BBS
ReadThru :
NumberPages: Number of times the user has paged the
Systems Operator this call
DownloadLimit: User's download restriction (in KB) for
today
TimeOfCreation:Time the EXITINFO file was created.
LogonPassword: Password user used to log-on with. This is
to prevent users from changin their
passwords back to what they had previously
had it before RA forced them to change it.
WantChat : True if the user still has an unanswered
page to the Systems Operator
2.6 Menu file/data structure
Menu-files consist of a set of records of type MNUrecord, where
special rules for the first record apply. After the first
record, menu-options are listed, one record per option.
MNUrecord = record
Typ : Byte;
Security : Word;
Flags : FlagType;
Display : String[75];
HotKey : Char;
MiscData : String[80];
Foreground,
Background : Byte;
end;
Field descriptions: (for first record)
Typ : Highlight foreground
Security : Highlight background
Flags : [not used]
Display : Menu prompt
HotKey : [not used]
MiscData : [not used]
Foreground: Menu prompt foreground
Background: Menu prompt background
Field descriptions:
Typ : Menu-type number, see RA documentation for
complete lis.
Security : Security-level required to see/use this
option
Flags : Flags required to see/use this option
Display : String to display on menu. 'Hilight'
characters should be enclosed with caret (^)
sybmols. Use of summary-characters (@, `, ~
etc..) may also be used
HotKey : Key used to activate the option
MiscData : Miscellaneous data line - useage depends on
Typ, as there is different extra data
required for every menu type
Foreground: Foreground colour to display option
Background: Background colour to display option
2.7 RemoteAccess Configuration Files
File: EVENTS.RA
EVENTS is a very simple event database, and contains all RA
event information. Each record corresponds to one event. This
file has a fixed-length.
EVENTrecord = record
Status : Byte;
StartTime : Time;
ErrorLevel : Byte;
Days : Byte;
Forced : Boolean;
LastTimeRun : Date;
end;
EVENTrecordArray = array[1..20] of EVENTrecord;
EVENTfile = file of EVENTrecordArray;
Field descriptions:
Status : Indicates current status of event:
0 = Deleted
1 = Enabled
2 = Disabled
StartTime : Time at which the event should start
ErrorLevel: Errorlevel which should be used
Days : Indicator of which days event should
execute:
Bit 0: Sunday
Bit 1: Monday
Bit 2: Tuesday
Bit 3: Wednesday
Bit 4: Tursday
Bit 5: Friday
Bit 6: Saturday
Forced : Tells RA if it should kick users off to meet
event dead-line.
LastTimeRun: The date at which the event was last
executed
File: MESSAGES.RA
MESSAGES contains all configuration data concerned with the
various message-areas in the RA message-base. One record is
provided for each message-area, and the file has a fixed-length
of 200 records. Contained in this file is information ranging
from the name of the area, to how the area can be accessed and
how the messages should be maintained (by RAMSG and the like).
type
MESSAGErecord = record
Name : String[40];
Typ : MsgType;
MsgKinds : MsgKindsType;
Aliases : Boolean;
DaysKill,
RecvKill : Byte;
CountKill : Word;
ReadSecurity : Word;
ReadFlags : FlagType;
WriteSecurity : Word;
WriteFlags : FlagType;
SysopSecurity : Word;
SysopFlags : FlagType;
OriginLine : String[60];
AkaAddress : Byte;
end;
MESSAGEfile = file of MESSAGErecord;
Field descriptions:
Name : Name of message-area, in readable form
Typ : What type of messages should be kept in the
area. (Local, NetMail, EchoMail)
MsgKinds : What kind of messages should be allowed in
the area. (Both, Private, Public, ROnly)
Aliases : If used should be allowed to enter messages
under another name.
DaysKill : How many days since posting messages should
be kept for
RecvKill : How many days since posting messages
received should be kept for
CountKill : Maximum number of messages which should be
allowed in the message-area
ReadSecurity: Security value needed to read messages
ReadFlags : Flags needed to read messages
WriteSecurity: Security value needed to post messages
WriteFlags: Flags needed to post messages
SysopSecurity: Security value needed to perform 'Sysop'
functions on the message area. eg, "[D]elete
messages, [*] etc.."
SysopFlags: Flags needed to perform 'Sysop' functions on
the message area.
OriginLine: Text to place on " * Origin:" line, if empty
default one is used.
AkaAddress: Aka # address to use on " * Origin:" line,
MSGID's, EID's in EchoMail areas, and origin
addresses in the case of the message-area
being NetMail.
File: FILES.RA
FILES contains all configuration data concerned with the various
file-areas in RA. One record is provided for each area, and the
file has a fixed-length of 200 records. Contained in this file
is information ranging from the name of the area, to how the
files can be accessed.
FILESrecord = record
Name : String[30];
Typ : Byte;
FilePath,
ListPath : String[40];
Security : Word;
Flags : FlagType;
PrivateSecurity : Word;
PrivateFlags : FlagType;
end;
Field descriptions:
Name : Name of file-area
Typ : [not-used]
FilePath : Path to download files/FILES.BBS
ListPath : [not-used]
Security : Security needed to view, download and upload
Flags : Flags needed to do view, download and upload
PrivateSecurity
: Security needed to view/download files with
'/' leading description
PrivateFlags: Flags needed to do the above
File: PROTOCOL.RA
PROTOCOL contains information about the various external
protocols which have been installed into RA. Information is
needed to know how to interface external protocols as they run
over a wide range of implementations.
type
PROTOCOLrecord = record
Name : String[15];
ActiveKey : Char;
OpusTypeCtlFile,
BatchAvailable : Boolean;
Attribute : Byte;
LogFileName,
CtlFileName,
DnCmdString,
DnCtlString,
UpCmdString,
UpCtlString : String[80];
UpLogKeyword,
DnLogKeyword : String[20];
XferDescWordNum,
XferNameWordNum : Byte;
end;
PROTOCOLfile = file of PROTOCOLrecord;
Name :
ActiveKey :
OpusTypeCtlFile:
BatchAvailable:
Attribute :
LogFileName:
CtlFileName:
DnCmdString:
DnCtlString:
UpCmdString:
UpCtlString:
UpLogKeyword:
DnLogKeyword:
XferDescWordNum:
XferNameWordNum:
File: CONFIG.RA
CONFIG contains most of the configuration information needed by
RA. It covers everything from the location of other data-files
to the restriction of various security levels from certain
functions to modem information.
type
CONFIGrecord = Record
VersionID : Word;
CommPort : Byte;
Baud : LongInt;
InitTries : Byte;
InitStr,
BusyStr : String[70];
InitResp,
BusyResp,
Connect300,
Connect1200,
Connect2400,
Connect4800,
Connect9600,
Connect19k,
Connect38k : String[40];
AnswerPhone : Boolean;
Ring,
AnswerStr : String[20];
FlushBuffer : Boolean;
ModemDelay : Integer;
MinimumBaud,
GraphicsBaud,
TransferBaud : Integer;
SlowBaudTimeStart,
SlowBaudTimeEnd,
DownloadTimeStart,
DownloadTimeEnd,
PagingTimeStart,
PagingTimeEnd : Time;
LoadingMsg,
ListPrompt : String[70];
PwdExpiry : Integer;
MenuPath,
TextPath,
NetPath,
NodelistPath,
MsgBasePath,
SysPath,
ExternalEdCmd : String[60];
Address : Array[0..9] of NetAddress;
SystemName : String[30];
NewSecurity : Integer;
NewCredit : Integer;
NewFlags : FlagType;
OriginLine : String[60];
QuoteString : String[15];
Sysop : String[35];
LogFileName : String[60];
FastLogon,
AllowSysRem,
MonoMode,
StrictPwdChecking,
DirectWrite,
SnowCheck : Boolean;
CreditFactor : Integer;
UserTimeOut,
LogonTime,
PasswordTries,
MaxPage,
PageLength : Integer;
CheckForMultiLogon,
ExcludeSysopFromList,
OneWordNames : Boolean;
CheckMail : AskType;
AskVoicePhone,
AskDataPhone,
DoFullMailCheck,
AllowFileShells,
FixUploadDates,
ShowFileDates : Boolean;
ANSI,
ClearScreen,
MorePrompt,
UploadMsgs,
KillSent
CrashAskSec : Integer;
CrashAskFlags : FlagType;
CrashSec : Integer;
CrashFlags : FlagType;
FAttachSec : Integer;
FAttachFlags : FlagType;
NormFore,
NormBack,
StatFore,
StatBack,
HiBack,
HiFore,
WindFore,
WindBack,
ExitLocal,
Exit300,
Exit1200,
Exit2400,
Exit4800,
Exit9600,
Exit19k,
Exit38k : Byte;
MultiLine : Boolean;
MinPwdLen : Byte;
MinUpSpace : Word;
HotKeys : AskType;
BorderFore,
BorderBack,
BarFore,
BarBack,
LogStyle,
MultiTasker,
PwdBoard : Byte;
BufferSize : Word;
FKeys : Array[1..10] of String[60];
FutureExpansion : Array[1..1024] of Byte;
end;
Field descriptions:
VersionID : May be used in future versions. Currently
set to $0000 (or 0x0000)
CommPort : COMx: port number. 1 = COM1:
Baud : bps rate to use with modem
InitTries : Number of times to try to initialise the
modem
InitStr : Initialisation string
BusyStr : Modem string to take modem off-hook
InitResp : Initialisation response
BusyResp : Response to BusyStr
Connect300: 300bps connection response:
Connect1200: 1200bps
Connect2400: 2400bps
Connect4800: 4800bps
Connect9600: 9600bps
Connect19k: 19.2kbps
Connect38k: 38kbps
AnswerPhone: If RA should answer phone manually
Ring : Modem "RING" code
AnswerStr : "ATA"-style modem command to answer phone
FlushBuffer: [not-used]
ModemDelay: Delay to pause between lines sent to modem
MinimumBaud: Minimum bps to allow a connection
GraphicsBaud: Minimum bps to allow ANSI graphics
capabilities
TransferBaud: Minimum bps to allow file-transfer
SlowBaudTimeStart
: Time to start 300bps file-transfer window
SlowBaudTimeEnd
: Time to stop 300bps file-transfer window
DownloadTimeStart
: Time to start file-transfer window
DownloadTimeEnd
: Time to stop file-transfer window
PagingTimeStart
: Time to start Sysop-paging window
PagingTimeEnd
: Time to stop Sysop-paging window
LoadingMsg: Message to display whilst loading external
program
ListPrompt: Prompt for 'list' menu-type
PwdExpiry : Number of calls to force password-change
MenuPath : Path to *.MNU files
TextPath : Path to *.ASC and *.ANS files
NetPath : Path to netmail *.MSG files
NodelistPath: [not-used]
MsgBasePath: Path to MSG*.BBS files
SysPath : Path to main RA 'root' system directory
ExternalEdCmd: Command to execute external message-editor
Address : Primary and AKA address info. Element '0' of
this array is the primary, elements 1-9 are
AKA's.
SystemName: Name of system
NewSecurity: New-user security
NewCredit : New-user netmail credit
NewFlags : New-user flags
OriginLine: Default ' * Origin:'-line
QuoteString: String to proceed message quotes. '@' are
converted into initials of quotee
Sysop : Name of Systems Operator
LogFileName: Filename of log-file
FastLogon : Should names be prompted in local mode? If
not, the Sysop's name is used.
AllowSysRem: Should the Sysop be allowed to log-on
remotely?
MonoMode : Should RA use B&W colours?
StrictPwdChecking
: Sets if RA should strictly compare new and
old passwords (using word-similarity
algorithm)
DirectWrite: Sets if RA should write directly to the
screen, otherwise BIOS calls are used
SnowCheck : Sets if RA should worry about possible snow
when writing to the screen
CreditFactor: Upload credit factor. A value of 'x' gives
a user 'x' more seconds online.
UserTimeOut: Number of seconds to decide a "User
inactivity"
LogonTime : Number of minutes allowed to get to the TOP
menu.
PasswordTries: Number of tries a user can have at providing
a correct password
MaxPage : Maximum number of Sysop-pages allowed per-
call
PageLength: Sysop-page length (in seconds)
CheckForMultiLogon
: Specifies if RA should check to make sure a
user isn't online on more than one line at
once.
ExcludeSysopFromList
: Tells RA if the Sysop should be placed on
user-lists etc..
OneWordNames: Specifies if users are allowed to log-on
with one-word names. eg "Phil"
CheckMail : Specifies if mail-checking should be done,
not done, or if the user should be prompted
before doing so.
AskVoicePhone: Tells RA if new-users should be asked their
voice/home number
AskDataPhone: Tells RA if new-users should be asked their
data/business number
DoFullMailCheck
: Specifies if RA should use 'short-cuts' on
mail-checking, by only checking onwards from
the highest message the user has read
previously.
AllowFileShells:
: Controls the availability of 'shell'
control-codes in text files. This has been
a large security problem in the past, so is
optioned in the RA package.
FixUploadDates
: Specifies if file-dates on uploads shouldbe
reset to the date/time they were sent
ShowFileDates: Specifies if file-dates should be displayed
in files listings. More space is available
for descriptions without dates.
ANSI : Controls new-user setting of ANSI graphics
ClearScreen: Controls new-user setting of screen-clearing
MorePrompt: Controls new-user setting of Continue[Y/n/=]
prompts
UploadMsgs: [not-used]
KillSent : Controls use of 'Kill/Sent' on netmail
CrashAskSec: Minimum security to have option for 'crash'
netmail
CrashAskFlags: Flags requried to have option for 'crash'
netmail
CrashSec : Minimum security to force use of crash-mail
CrashFlags: Flags required to force use of crash-mail
FAttachSec: Security needed to have option for 'file-
attaches' on netmail
FAttachFlags: Flags needed to have option for 'file-
attaches' on netmail
NOTE: The following attribute fields are for
local control ONLY
NormFore : Foreground for normal text
NormBack : Background for normal text
StatFore : Foreground for status-line
StatBack : Background for status-line
HiBack : Background for highlight text
HiFore : Foreground for highlight text
WindFore : Foreground for window text
WindBack : Background for window text
NOTE: The following values specify errorlevel numbers
given-off the front-end-mailer for each bps rate.
ExitLocal
Exit300
Exit1200
Exit2400
Exit4800
Exit9600
Exit19k
Exit38k
MultiLine : Tells RA if it is running on a multi-line
system
MinPwdLen : Minimum password-length (characters)
MinUpSpace: Minimum disk space required for initiating
of upload
HotKeys : Controls new-user setting of use of 'hot-
keys'
BorderFore: Foreground of window-border
BorderBack: Background of window-border
BarFore : Foreground of menu-bar
BarBack : Background of menu-bar
LogStyle : Style of log RA should write
MultiTasker: Type of multi-tasker used (if any)
PwdBoard : Msg area # to use for password failure
notification messages (WatchDog)
BufferSize: Internal buffer-size to use
FKeys : Function-key command-lines
FutureExpansion
: [not-used]